package com.mzx.javase.oop;

/**
 * @Description:static关键字
 * @Date: 2021/11/11 10:19
 * @Author: MarKing
 */
public class StaticDemo {
    //static关键字可修饰属性和方法。静态属性和静态方法
    //静态成员（属性和方法）是全类所有对象共享的成员
    //在全类中只有一份，不因创建多个对象而产生多份

    //静态成员（属性和方法），全类只共享一份，jvm的classLoader在加载这个类的class文件放到了方法区当中

    //static修饰的代码块最先执行
    static {
        System.out.println("静态代码块执行了.....");
    }
    //这是普通代码块,普通代码块在构造方法运行时加载
    {
        System.out.println("普通代码块执行了");
    }

    private String name;
    private int age;

    public StaticDemo() {
    }

    public StaticDemo(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public static void main(String[] args) {
        System.out.println("1111111111");
        System.out.println("2222222222");
        StaticDemo staticDemo = new StaticDemo();
        StaticDemo 张三 = new StaticDemo("张三", 20);
    }

}
